From: Benjamin Otte Date: Sat, 6 Nov 2021 15:25:11 +0000 (+0100) Subject: label: max-width-chars should be ignored sometimes X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~91^2^2~164^2~5 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=81169d18c3d2f22263ea04361ac6944eef892855;p=gtk4.git label: max-width-chars should be ignored sometimes When a widget is neither wrappable nor ellipsizable, we cannot modify the label to fit into any size. So we cannot respect max-width-chars. --- diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 46af2fb174..a82ec7bb77 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -1082,7 +1082,7 @@ get_static_size (GtkLabel *self, get_default_widths (self, &minimum_default, &natural_default); - layout = gtk_label_get_measuring_layout (self, NULL, natural_default); + layout = gtk_label_get_measuring_layout (self, NULL, self->ellipsize ? natural_default : -1); if (orientation == GTK_ORIENTATION_HORIZONTAL) { diff --git a/testsuite/reftests/label-small-max-width-chars.ref.ui b/testsuite/reftests/label-small-max-width-chars.ref.ui new file mode 100644 index 0000000000..ec722f56ce --- /dev/null +++ b/testsuite/reftests/label-small-max-width-chars.ref.ui @@ -0,0 +1,11 @@ + + + + 0 + + + Hello World + + + + diff --git a/testsuite/reftests/label-small-max-width-chars.ui b/testsuite/reftests/label-small-max-width-chars.ui new file mode 100644 index 0000000000..d3236e8035 --- /dev/null +++ b/testsuite/reftests/label-small-max-width-chars.ui @@ -0,0 +1,12 @@ + + + + 0 + + + Hello World + 2 + + + + diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build index d6857190cf..9f40c0f3a0 100644 --- a/testsuite/reftests/meson.build +++ b/testsuite/reftests/meson.build @@ -359,6 +359,8 @@ testdata = [ 'label-sizing.ui', 'label-small-ellipsized.ref.ui', 'label-small-ellipsized.ui', + 'label-small-max-width-chars.ref.ui', + 'label-small-max-width-chars.ui', 'label-text-shadow-clipping.css', 'label-text-shadow-clipping.ref.ui', 'label-text-shadow-clipping.ui',